转义SQL语句中的特殊字符,避免SQL注入攻击。底层基于mysqlnd
提供的函数实现,需要依赖PHP的mysqlnd
扩展。
- 编译时需要增加
--enable-mysqlnd
来启用,如果你的PHP中没有mysqlnd
将会出现编译错误 - 必须在
connect
完成后才能使用 - 客户端未设置字符集时默认使用Server返回的字符集设置,可在
connect
方法中加入charset
修改连接字符集
此方法在1.9.6或更高版本可用
function swoole_mysql->escape(string $str) : string
$db = new swoole_mysql;
$server = array(
'host' => '127.0.0.1',
'user' => 'root',
'password' => 'root',
'database' => 'test',
);
$db->connect($server, function ($db, $result) {
$data = $db->escape("abc'efg\r\n");
});